home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 April: Mac OS SDK / Dev.CD Apr 97 SDK1.toast / Development Kits (Disc 1) / Communications Toolbox / CTB Sample Code 1.0b16 / CTB Sources / Sources 2 / Connection Tool for CTB / cval.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-10-06  |  1.6 KB  |  74 lines  |  [TEXT/MPS ]

  1. /************************************************************************************
  2. *
  3. *  Project Name:    Templates
  4. *     File Name:    cval.c
  5. *        Author:    Rob Neville (IIx)
  6. *          Date:    May 17, 1989
  7. *
  8. *   Description:    Template cval function. 
  9. *
  10. *************************************************************************************
  11. *
  12. *    Revision History:
  13. *        5/17/89 - Original version by Rob Neville (IIx)
  14. *        6/26/89 - Reved for CTB b2
  15. *
  16. ************************************************************************************/
  17.  
  18. #include "CMTool.h"
  19.  
  20. pascal long CVAL(hTH,msg,p1,p2,p3)
  21. ToolHandle    hTH;
  22. short        msg;
  23. long        p1,p2,p3;
  24. {
  25.     long    theErr = noErr;
  26.     long     ToolValidate(ToolHandle hTH);
  27.     void    ToolDefault(ConfigPtr *configP, Boolean allocate);
  28.     
  29.     switch (msg)
  30.     {
  31.         case TValidateMsg:                    /* FTValidate */
  32.             theErr = ToolValidate(hTH);
  33.             break;
  34.         case TDefaultMsg:                    /* FTDefault */
  35.             ToolDefault((ConfigPtr *)p1,(Boolean)p2);
  36.             break;
  37.         default:                            /* Shouldn't get here but... */
  38.             theErr = noErr;
  39.             break;
  40.     }
  41.     return (theErr);
  42.     #pragma unused (p3)
  43. }
  44.  
  45. long ToolValidate(ToolHandle hTH)
  46. {
  47.     ConfigPtr    pConfig;
  48.     pConfig = (ConfigPtr)(**hTH).config;
  49.     if (pConfig->param1 != 1 && pConfig->param1 != 0) {
  50.         pConfig->param1 = true;
  51.         return (1);
  52.     }
  53.     if (pConfig->param2 != 1 && pConfig->param2 != 0) {
  54.         pConfig->param2 = true;
  55.         return (1);
  56.     }
  57.     return(noErr);
  58. }
  59.  
  60. void ToolDefault(ConfigPtr *configP,Boolean allocate)
  61. {
  62.     ConfigPtr    locConfig;
  63.     
  64.     if (allocate) 
  65.     {
  66.         locConfig = (ConfigPtr)NewPtr(sizeof(Config));
  67.         *configP = locConfig;
  68.     }
  69.     if (*configP != nil)
  70.     {
  71.         (**configP).param1 = true;
  72.         (**configP).param2 = true;
  73.     }
  74. }